package com.citcc4.traffic.data.domain.snap;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SnapshotEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer pageNo = 1;

    protected Integer startRow;

    protected Integer pageSize = 10;

    protected String fields;

    public SnapshotEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo=pageNo;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageNo() {
        return pageNo;
    }

    public void setStartRow(Integer startRow) {
        this.startRow=startRow;
    }

    public Integer getStartRow() {
        return startRow;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize=pageSize;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setFields(String fields) {
        this.fields=fields;
    }

    public String getFields() {
        return fields;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSnapshotIdIsNull() {
            addCriterion("snapshot_id is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdIsNotNull() {
            addCriterion("snapshot_id is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdEqualTo(String value) {
            addCriterion("snapshot_id =", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdNotEqualTo(String value) {
            addCriterion("snapshot_id <>", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdGreaterThan(String value) {
            addCriterion("snapshot_id >", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdGreaterThanOrEqualTo(String value) {
            addCriterion("snapshot_id >=", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdLessThan(String value) {
            addCriterion("snapshot_id <", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdLessThanOrEqualTo(String value) {
            addCriterion("snapshot_id <=", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdLike(String value) {
            addCriterion("snapshot_id like", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdNotLike(String value) {
            addCriterion("snapshot_id not like", value, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdIn(List<String> values) {
            addCriterion("snapshot_id in", values, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdNotIn(List<String> values) {
            addCriterion("snapshot_id not in", values, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdBetween(String value1, String value2) {
            addCriterion("snapshot_id between", value1, value2, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andSnapshotIdNotBetween(String value1, String value2) {
            addCriterion("snapshot_id not between", value1, value2, "snapshotId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdIsNull() {
            addCriterion("mirror_id is null");
            return (Criteria) this;
        }

        public Criteria andMirrorIdIsNotNull() {
            addCriterion("mirror_id is not null");
            return (Criteria) this;
        }

        public Criteria andMirrorIdEqualTo(String value) {
            addCriterion("mirror_id =", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdNotEqualTo(String value) {
            addCriterion("mirror_id <>", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdGreaterThan(String value) {
            addCriterion("mirror_id >", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdGreaterThanOrEqualTo(String value) {
            addCriterion("mirror_id >=", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdLessThan(String value) {
            addCriterion("mirror_id <", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdLessThanOrEqualTo(String value) {
            addCriterion("mirror_id <=", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdLike(String value) {
            addCriterion("mirror_id like", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdNotLike(String value) {
            addCriterion("mirror_id not like", value, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdIn(List<String> values) {
            addCriterion("mirror_id in", values, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdNotIn(List<String> values) {
            addCriterion("mirror_id not in", values, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdBetween(String value1, String value2) {
            addCriterion("mirror_id between", value1, value2, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andMirrorIdNotBetween(String value1, String value2) {
            addCriterion("mirror_id not between", value1, value2, "mirrorId");
            return (Criteria) this;
        }

        public Criteria andCarNumIsNull() {
            addCriterion("car_num is null");
            return (Criteria) this;
        }

        public Criteria andCarNumIsNotNull() {
            addCriterion("car_num is not null");
            return (Criteria) this;
        }

        public Criteria andCarNumEqualTo(String value) {
            addCriterion("car_num =", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumNotEqualTo(String value) {
            addCriterion("car_num <>", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumGreaterThan(String value) {
            addCriterion("car_num >", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumGreaterThanOrEqualTo(String value) {
            addCriterion("car_num >=", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumLessThan(String value) {
            addCriterion("car_num <", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumLessThanOrEqualTo(String value) {
            addCriterion("car_num <=", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumLike(String value) {
            addCriterion("car_num like", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumNotLike(String value) {
            addCriterion("car_num not like", value, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumIn(List<String> values) {
            addCriterion("car_num in", values, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumNotIn(List<String> values) {
            addCriterion("car_num not in", values, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumBetween(String value1, String value2) {
            addCriterion("car_num between", value1, value2, "carNum");
            return (Criteria) this;
        }

        public Criteria andCarNumNotBetween(String value1, String value2) {
            addCriterion("car_num not between", value1, value2, "carNum");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameIsNull() {
            addCriterion("snapshot_name is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameIsNotNull() {
            addCriterion("snapshot_name is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameEqualTo(String value) {
            addCriterion("snapshot_name =", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameNotEqualTo(String value) {
            addCriterion("snapshot_name <>", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameGreaterThan(String value) {
            addCriterion("snapshot_name >", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameGreaterThanOrEqualTo(String value) {
            addCriterion("snapshot_name >=", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameLessThan(String value) {
            addCriterion("snapshot_name <", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameLessThanOrEqualTo(String value) {
            addCriterion("snapshot_name <=", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameLike(String value) {
            addCriterion("snapshot_name like", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameNotLike(String value) {
            addCriterion("snapshot_name not like", value, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameIn(List<String> values) {
            addCriterion("snapshot_name in", values, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameNotIn(List<String> values) {
            addCriterion("snapshot_name not in", values, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameBetween(String value1, String value2) {
            addCriterion("snapshot_name between", value1, value2, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotNameNotBetween(String value1, String value2) {
            addCriterion("snapshot_name not between", value1, value2, "snapshotName");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlIsNull() {
            addCriterion("snapshot_url is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlIsNotNull() {
            addCriterion("snapshot_url is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlEqualTo(String value) {
            addCriterion("snapshot_url =", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlNotEqualTo(String value) {
            addCriterion("snapshot_url <>", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlGreaterThan(String value) {
            addCriterion("snapshot_url >", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlGreaterThanOrEqualTo(String value) {
            addCriterion("snapshot_url >=", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlLessThan(String value) {
            addCriterion("snapshot_url <", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlLessThanOrEqualTo(String value) {
            addCriterion("snapshot_url <=", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlLike(String value) {
            addCriterion("snapshot_url like", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlNotLike(String value) {
            addCriterion("snapshot_url not like", value, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlIn(List<String> values) {
            addCriterion("snapshot_url in", values, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlNotIn(List<String> values) {
            addCriterion("snapshot_url not in", values, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlBetween(String value1, String value2) {
            addCriterion("snapshot_url between", value1, value2, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotUrlNotBetween(String value1, String value2) {
            addCriterion("snapshot_url not between", value1, value2, "snapshotUrl");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeIsNull() {
            addCriterion("snapshot_time is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeIsNotNull() {
            addCriterion("snapshot_time is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeEqualTo(Long value) {
            addCriterion("snapshot_time =", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeNotEqualTo(Long value) {
            addCriterion("snapshot_time <>", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeGreaterThan(Long value) {
            addCriterion("snapshot_time >", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("snapshot_time >=", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeLessThan(Long value) {
            addCriterion("snapshot_time <", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeLessThanOrEqualTo(Long value) {
            addCriterion("snapshot_time <=", value, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeIn(List<Long> values) {
            addCriterion("snapshot_time in", values, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeNotIn(List<Long> values) {
            addCriterion("snapshot_time not in", values, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeBetween(Long value1, Long value2) {
            addCriterion("snapshot_time between", value1, value2, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotTimeNotBetween(Long value1, Long value2) {
            addCriterion("snapshot_time not between", value1, value2, "snapshotTime");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateIsNull() {
            addCriterion("snapshot_state is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateIsNotNull() {
            addCriterion("snapshot_state is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateEqualTo(Integer value) {
            addCriterion("snapshot_state =", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateNotEqualTo(Integer value) {
            addCriterion("snapshot_state <>", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateGreaterThan(Integer value) {
            addCriterion("snapshot_state >", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("snapshot_state >=", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateLessThan(Integer value) {
            addCriterion("snapshot_state <", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateLessThanOrEqualTo(Integer value) {
            addCriterion("snapshot_state <=", value, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateIn(List<Integer> values) {
            addCriterion("snapshot_state in", values, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateNotIn(List<Integer> values) {
            addCriterion("snapshot_state not in", values, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateBetween(Integer value1, Integer value2) {
            addCriterion("snapshot_state between", value1, value2, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andSnapshotStateNotBetween(Integer value1, Integer value2) {
            addCriterion("snapshot_state not between", value1, value2, "snapshotState");
            return (Criteria) this;
        }

        public Criteria andMimetypeIsNull() {
            addCriterion("mimetype is null");
            return (Criteria) this;
        }

        public Criteria andMimetypeIsNotNull() {
            addCriterion("mimetype is not null");
            return (Criteria) this;
        }

        public Criteria andMimetypeEqualTo(String value) {
            addCriterion("mimetype =", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeNotEqualTo(String value) {
            addCriterion("mimetype <>", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeGreaterThan(String value) {
            addCriterion("mimetype >", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeGreaterThanOrEqualTo(String value) {
            addCriterion("mimetype >=", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeLessThan(String value) {
            addCriterion("mimetype <", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeLessThanOrEqualTo(String value) {
            addCriterion("mimetype <=", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeLike(String value) {
            addCriterion("mimetype like", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeNotLike(String value) {
            addCriterion("mimetype not like", value, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeIn(List<String> values) {
            addCriterion("mimetype in", values, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeNotIn(List<String> values) {
            addCriterion("mimetype not in", values, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeBetween(String value1, String value2) {
            addCriterion("mimetype between", value1, value2, "mimetype");
            return (Criteria) this;
        }

        public Criteria andMimetypeNotBetween(String value1, String value2) {
            addCriterion("mimetype not between", value1, value2, "mimetype");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5IsNull() {
            addCriterion("snapshot_md5 is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5IsNotNull() {
            addCriterion("snapshot_md5 is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5EqualTo(String value) {
            addCriterion("snapshot_md5 =", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5NotEqualTo(String value) {
            addCriterion("snapshot_md5 <>", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5GreaterThan(String value) {
            addCriterion("snapshot_md5 >", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5GreaterThanOrEqualTo(String value) {
            addCriterion("snapshot_md5 >=", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5LessThan(String value) {
            addCriterion("snapshot_md5 <", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5LessThanOrEqualTo(String value) {
            addCriterion("snapshot_md5 <=", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5Like(String value) {
            addCriterion("snapshot_md5 like", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5NotLike(String value) {
            addCriterion("snapshot_md5 not like", value, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5In(List<String> values) {
            addCriterion("snapshot_md5 in", values, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5NotIn(List<String> values) {
            addCriterion("snapshot_md5 not in", values, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5Between(String value1, String value2) {
            addCriterion("snapshot_md5 between", value1, value2, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andSnapshotMd5NotBetween(String value1, String value2) {
            addCriterion("snapshot_md5 not between", value1, value2, "snapshotMd5");
            return (Criteria) this;
        }

        public Criteria andUploadTimeIsNull() {
            addCriterion("upload_time is null");
            return (Criteria) this;
        }

        public Criteria andUploadTimeIsNotNull() {
            addCriterion("upload_time is not null");
            return (Criteria) this;
        }

        public Criteria andUploadTimeEqualTo(Date value) {
            addCriterion("upload_time =", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeNotEqualTo(Date value) {
            addCriterion("upload_time <>", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeGreaterThan(Date value) {
            addCriterion("upload_time >", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("upload_time >=", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeLessThan(Date value) {
            addCriterion("upload_time <", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeLessThanOrEqualTo(Date value) {
            addCriterion("upload_time <=", value, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeIn(List<Date> values) {
            addCriterion("upload_time in", values, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeNotIn(List<Date> values) {
            addCriterion("upload_time not in", values, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeBetween(Date value1, Date value2) {
            addCriterion("upload_time between", value1, value2, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andUploadTimeNotBetween(Date value1, Date value2) {
            addCriterion("upload_time not between", value1, value2, "uploadTime");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdIsNull() {
            addCriterion("snaporder_id is null");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdIsNotNull() {
            addCriterion("snaporder_id is not null");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdEqualTo(String value) {
            addCriterion("snaporder_id =", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdNotEqualTo(String value) {
            addCriterion("snaporder_id <>", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdGreaterThan(String value) {
            addCriterion("snaporder_id >", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdGreaterThanOrEqualTo(String value) {
            addCriterion("snaporder_id >=", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdLessThan(String value) {
            addCriterion("snaporder_id <", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdLessThanOrEqualTo(String value) {
            addCriterion("snaporder_id <=", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdLike(String value) {
            addCriterion("snaporder_id like", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdNotLike(String value) {
            addCriterion("snaporder_id not like", value, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdIn(List<String> values) {
            addCriterion("snaporder_id in", values, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdNotIn(List<String> values) {
            addCriterion("snaporder_id not in", values, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdBetween(String value1, String value2) {
            addCriterion("snaporder_id between", value1, value2, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnaporderIdNotBetween(String value1, String value2) {
            addCriterion("snaporder_id not between", value1, value2, "snaporderId");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsIsNull() {
            addCriterion("snapshot_gps is null");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsIsNotNull() {
            addCriterion("snapshot_gps is not null");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsEqualTo(String value) {
            addCriterion("snapshot_gps =", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsNotEqualTo(String value) {
            addCriterion("snapshot_gps <>", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsGreaterThan(String value) {
            addCriterion("snapshot_gps >", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsGreaterThanOrEqualTo(String value) {
            addCriterion("snapshot_gps >=", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsLessThan(String value) {
            addCriterion("snapshot_gps <", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsLessThanOrEqualTo(String value) {
            addCriterion("snapshot_gps <=", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsLike(String value) {
            addCriterion("snapshot_gps like", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsNotLike(String value) {
            addCriterion("snapshot_gps not like", value, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsIn(List<String> values) {
            addCriterion("snapshot_gps in", values, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsNotIn(List<String> values) {
            addCriterion("snapshot_gps not in", values, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsBetween(String value1, String value2) {
            addCriterion("snapshot_gps between", value1, value2, "snapshotGps");
            return (Criteria) this;
        }

        public Criteria andSnapshotGpsNotBetween(String value1, String value2) {
            addCriterion("snapshot_gps not between", value1, value2, "snapshotGps");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}